package day2.homework;

import java.io.*;

//需求：把“E:\\itcast”这个文件夹复制到 F盘目录下
//思路：
//① 创建数据源File对象，路径是E:\\itcast
//② 创建目的地File对象，路径是F:\\
// ③ 写方法实现文件夹的复制，参数为数据源File对象和目的地File对象
//④ 判断数据源File是否是文件
//是文件：直接复制，用字节流
//不是文件：
//在目的地下创建该目录
//遍历获取该目录下的所有文件的File数组，得到每一个File对象
//回到3继续(递归)
public class HomeWork6 {
    public static void main(String[] args) throws IOException {
        File srcFile = new File("E:\\\\itcast");
        File destFile = new File("F:\\");
        copy(srcFile, destFile);
    }

    private static void copy(File srcFile, File destFile) throws IOException {
        File newFile = new File(destFile,srcFile.getName());
        if (newFile.exists()){
            newFile.mkdirs();
        }
        File[] files = srcFile.listFiles();
        for (File file : files) {
            if (file.isFile()) {
                //是文件：直接复制，用字节流
                FileInputStream fis = new FileInputStream(file);
                FileOutputStream fos = new FileOutputStream(new File(newFile,file.getName()));
                int len;
                byte[] bys = new byte[1024];
                while ((len = fis.read(bys)) != -1) {
                    fos.write(bys, 0, len);
                }
                fos.close();
                fis.close();
        }else if (file.isDirectory()){
                copy(file,newFile);
            }

        }

    }
}

